package kr.pe.johnkim.pushchat.mobile.service;

import kr.pe.johnkim.pushchat.mobile.domain.PushChatBlock;

import java.util.List;

/**
 * @author : John_Kim <cale9797@gmail.com>
 * @date : 2013. 12. 16.
 */
public interface PushChatBlockService {

    /**
     * 차단 중복을 확인 한다.
     *
     * @param pushChatBlock
     * @return
     */
    public PushChatBlock selectDuplicationBlock(PushChatBlock pushChatBlock);

    /**
     * 차단을 등록 한다.
     *
     * @param pushChatBlock
     */
    public void registerBlock(PushChatBlock pushChatBlock);

    /**
     * 차단 목록을 가져 온다.
     *
     * 1. 차단 당한 사용자 아이디를 입력하면 해당 사용자의 차단 목록을 가져 온다.
     * 2. 없으면 모든 목록을 가져 온다.
     * 3. 신고자 아이디를 입력하면 해당 신고자가 신고한 차단 목록을 가져 온다.
     * 4. 없으면 모든 목록을 가져 온다.
     *
     * @param pushChatBlock
     * @return
     */
    public List<PushChatBlock> selectBlockList(PushChatBlock pushChatBlock);

    /**
     * 특정(차단당한) 사용자의 차단 총 갯수를 가져 온다.
     *
     * @param pushChatBlock
     * @return
     */
    public PushChatBlock selectBlockTotalCount(PushChatBlock pushChatBlock);
}
